package vashion.azeroth.core.personal.tran.pojo;

import java.math.BigDecimal;
import java.util.List;

import org.codehaus.jackson.annotate.JsonIgnore;

import vashion.azeroth.common.math.BigDecimalUtil;
import vashion.azeroth.common.math.FormatUtil;
import vashion.azeroth.core.item.pojo.ItemSkuDO;
import vashion.azeroth.core.pojo.BaseObject;
import vashion.azeroth.core.support.StatusNameTransform;

public class PersonalSnapshot extends BaseObject {

	private static final long serialVersionUID = 1645951712525250722L;

	private String disburseNo;

    private Long itemId;

    private Long skuId;
    
    private String skuName;

    private String title;
    
    private String itemDesc;
    
    private String pic;
    
    /**客户端显示价格**/
    private long vipPrice;
    
    private Integer quantity;
    
    @JsonIgnore
    private Integer publishFileId;

    @JsonIgnore
    private String remark;
    @JsonIgnore
    private Long categoryId;
    /**退款总额**/
    private Long refundAmount;
    
    private Long returnPrice;
    
    //退货订单属性
    private String logisticsCompany;
    
    private String logisticsNo;
    
    private Integer status;
    
    private String returnGoodsNo;
    
    private Long memberId;
    
    private String vipLevel;
    
    private Integer snapshotStatus;
    
    private Integer cartId;
    
    /**结算价格**/
    private long price;
    /**结算人民币价格 **/
    private long priceCny;
    /**订单价格 **/
    private Long finalPrice;
    /**订单人民币价格 **/
    private Long finalPriceCny;
    
    private String subDisburseNo;
    
    private String supplierMemberName;
    
    private Long supplierMemberId;
    
    private String productQuantity;
    
    private ItemSkuDO itemSkuDO;
    
    private String curno;
    
    private BigDecimal rate;
    
    private BigDecimal rateOld;
    
    private List<ItemSkuDO> itemSkus;
    
    private String color;
    
    private String material;
    
    private Long referencePrice;
    
    private String itemCode;
    
    public String getSnapshotStatusName() {
    	return StatusNameTransform.getSnapshotStatusName(snapshotStatus);
    }
    
    public String getPriceShow() {
    	return BigDecimalUtil.divide(new BigDecimal(price), new BigDecimal(100)).toString();
    }
    
    public String getReferencePriceShow() {
    	if(null == referencePrice) {
    		return "";
    	}
    	return BigDecimalUtil.divide(new BigDecimal(referencePrice), new BigDecimal(100)).toString();
    }
    
    public String getFinalPriceShow() {
    	if(null == finalPrice) {
    		return "";
    	}
    	return BigDecimalUtil.divide(new BigDecimal(finalPrice), new BigDecimal(100)).toString();
    }
    
    public String getFinalPriceCnyShow() {
    	if(null == finalPriceCny) {
    		return "";
    	}
    	return BigDecimalUtil.divide(new BigDecimal(finalPriceCny), new BigDecimal(100)).toString();
    }
    
    public String getPriceCnyShow() {
    	return BigDecimalUtil.divide(new BigDecimal(priceCny), new BigDecimal(100)).toString();
    }
    
    public String getRateShow() {
    	return FormatUtil.format(rate.doubleValue());
    }
    
    public String getRateOldShow() {
    	if(null == rateOld) {
    		return "";
    	}
    	
    	return FormatUtil.format(rateOld.doubleValue());
    }
    
    public String getDisburseNo() {
        return disburseNo;
    }

    public void setDisburseNo(String disburseNo) {
        this.disburseNo = disburseNo;
    }

    public Long getItemId() {
        return itemId;
    }

    public void setItemId(Long itemId) {
        this.itemId = itemId;
    }

    public Long getSkuId() {
        return skuId;
    }

    public void setSkuId(Long skuId) {
        this.skuId = skuId;
    }

    public String getSkuName() {
        return skuName;
    }

    public void setSkuName(String skuName) {
        this.skuName = skuName;
    }

    public String getTitle() {
        return title;
    }

    public void setTitle(String title) {
        this.title = title;
    }

    public long getPrice() {
		return price;
	}

	public void setPrice(long price) {
		this.price = price;
	}

	public Integer getQuantity() {
        return quantity;
    }

    public void setQuantity(Integer quantity) {
        this.quantity = quantity;
    }

    public Integer getPublishFileId() {
		return publishFileId;
	}

	public void setPublishFileId(Integer publishFileId) {
		this.publishFileId = publishFileId;
	}

	public String getRemark() {
        return remark;
    }

    public void setRemark(String remark) {
        this.remark = remark;
    }

	public Long getCategoryId() {
		return categoryId;
	}

	public void setCategoryId(Long categoryId) {
		this.categoryId = categoryId;
	}

	public Long getRefundAmount() {
		return refundAmount;
	}

	public void setRefundAmount(Long refundAmount) {
		this.refundAmount = refundAmount;
	}

	public String getLogisticsCompany() {
		return logisticsCompany;
	}

	public void setLogisticsCompany(String logisticsCompany) {
		this.logisticsCompany = logisticsCompany;
	}

	public String getLogisticsNo() {
		return logisticsNo;
	}

	public void setLogisticsNo(String logisticsNo) {
		this.logisticsNo = logisticsNo;
	}

	public Integer getStatus() {
		return null == status?0:status;
	}

	public void setStatus(Integer status) {
		this.status = status;
	}

	public String getReturnGoodsNo() {
		return returnGoodsNo;
	}

	public void setReturnGoodsNo(String returnGoodsNo) {
		this.returnGoodsNo = returnGoodsNo;
	}

	public String getPic() {
		return pic;
	}

	public void setPic(String pic) {
		this.pic = pic;
	}

	public long getVipPrice() {
		return vipPrice;
	}

	public void setVipPrice(long vipPrice) {
		this.vipPrice = vipPrice;
	}

	public Long getMemberId() {
		return memberId;
	}

	public void setMemberId(Long memberId) {
		this.memberId = memberId;
	}

	public Long getReturnPrice() {
		return returnPrice;
	}

	public void setReturnPrice(Long returnPrice) {
		this.returnPrice = returnPrice;
	}

	public String getVipLevel() {
		return vipLevel;
	}

	public void setVipLevel(String vipLevel) {
		this.vipLevel = vipLevel;
	}

	public Integer getSnapshotStatus() {
		return snapshotStatus;
	}

	public void setSnapshotStatus(Integer snapshotStatus) {
		this.snapshotStatus = snapshotStatus;
	}

	public Integer getCartId() {
		return cartId;
	}

	public void setCartId(Integer cartId) {
		this.cartId = cartId;
	}

	public Long getFinalPrice() {
		return finalPrice;
	}

	public void setFinalPrice(Long finalPrice) {
		this.finalPrice = finalPrice;
	}

	public String getSubDisburseNo() {
		return subDisburseNo;
	}

	public void setSubDisburseNo(String subDisburseNo) {
		this.subDisburseNo = subDisburseNo;
	}

	public String getSupplierMemberName() {
		return supplierMemberName;
	}

	public void setSupplierMemberName(String supplierMemberName) {
		this.supplierMemberName = supplierMemberName;
	}

	public Long getSupplierMemberId() {
		return supplierMemberId;
	}

	public void setSupplierMemberId(Long supplierMemberId) {
		this.supplierMemberId = supplierMemberId;
	}

	public String getProductQuantity() {
		return productQuantity;
	}

	public void setProductQuantity(String productQuantity) {
		this.productQuantity = productQuantity;
	}

	public String getCurno() {
		return curno;
	}

	public void setCurno(String curno) {
		this.curno = curno;
	}

	public long getPriceCny() {
		return priceCny;
	}

	public void setPriceCny(long priceCny) {
		this.priceCny = priceCny;
	}

	public BigDecimal getRate() {
		return rate;
	}

	public void setRate(BigDecimal rate) {
		this.rate = rate;
	}

	public BigDecimal getRateOld() {
		return rateOld;
	}

	public void setRateOld(BigDecimal rateOld) {
		this.rateOld = rateOld;
	}

	public List<ItemSkuDO> getItemSkus() {
		return itemSkus;
	}

	public void setItemSkus(List<ItemSkuDO> itemSkus) {
		this.itemSkus = itemSkus;
	}

	public String getItemDesc() {
		return itemDesc;
	}

	public void setItemDesc(String itemDesc) {
		this.itemDesc = itemDesc;
	}

	public ItemSkuDO getItemSkuDO() {
		return itemSkuDO;
	}

	public void setItemSkuDO(ItemSkuDO itemSkuDO) {
		this.itemSkuDO = itemSkuDO;
	}

	public Long getFinalPriceCny() {
		return finalPriceCny;
	}

	public void setFinalPriceCny(Long finalPriceCny) {
		this.finalPriceCny = finalPriceCny;
	}

	public String getColor() {
		return color;
	}

	public void setColor(String color) {
		this.color = color;
	}

	public String getMaterial() {
		return material;
	}

	public void setMaterial(String material) {
		this.material = material;
	}

	public void setReferencePrice(Long referencePrice) {
		this.referencePrice = referencePrice;
	}

	public String getItemCode() {
		return itemCode;
	}

	public void setItemCode(String itemCode) {
		this.itemCode = itemCode;
	}
	

}